<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <f:view contentType="text/html">
        <h:head>
            <f:facet name="first">
                <meta content='text/html; charset=UTF-8' http-equiv="Content-Type"/>
                <title>Ajouter un employé</title>
            </f:facet>
        </h:head> 

        <h:body>
            <ui:composition template="./template.xhtml">
                <ui:define name="top">

                </ui:define>
                <ui:define name="left">
                    <h:form >

                        <p:menu my="true" style="width:200px">
                            <p:submenu label="Navigation Employé" >  
                                <p:menuitem value="Les employés" action="#{redirectionBean.getRedirectionListeAmploye}" icon="ui-icon-home"
                                            styleClass="#{view.viewId == '/listeTravailleur.xhtml' || 
                                                          view.viewId == '/ajouterUnTravailleur.xhtml' || 
                                                          view.viewId == '/detailTravailleur.xhtml' ||
                                                          view.viewId == '/editerUnTravailleur.xhtml' ? 'ui-state-active' : ''}"
                                            />  
                                
                            </p:submenu>
                            <p:submenu label="Navigation Mission">  
                                <p:menuitem value="Gestion des missions" action="#{redirectionBean.getRedirectionGestionMission}" icon="ui-icon-suitcase" 
                                            styleClass="#{view.viewId == '/gestionMission.xhtml' ? 'ui-state-active' : ''}"
                                            />   
                            </p:submenu>  
                            <p:submenu label="Navigation Réglage">  
                                <p:menuitem value="Réglage formulaire" action="#{redirectionBean.getRedirectionGeglageformulaire}" icon="ui-icon-gear"
                                            styleClass="#{view.viewId == '/reglageformulaire.xhtml' ? 'ui-state-active' : ''}"
                                            />  
                            </p:submenu>  
                        </p:menu> 

                    </h:form>
                </ui:define>
                <ui:define name="content">
                    <h:form id="formMessage">
                        <p:growl id="messageGrow" /> 
                        <p:growl id="messageGrowDetail" showDetail="true" />

                    </h:form>
                    <h:form id="formAjouterTravailleur">
                        <p:panel  style="width: 95%">
                            <f:facet name="header">
                                Ajouté un employé
                                <p:commandButton style="float: right;" value="Retour" title="Retour à la liste des employés" 
                                                 action="#{travailleurBean.retourDansListe}"
                                                 immediate="true"
                                                 icon="ui-icon-arrowreturnthick-1-w"/>
                            </f:facet>
                            <p:accordionPanel>  
                                <p:tab title="Informations de personnelles" id="InfosPersoTab">
                                    <p:panelGrid columns="2">

                                        <p:graphicImage id="photoDePhofile" value="/public/photoProfilTravailleur/#{travailleurBean.cvTravailleurNew.imgprofil}" width="100" height="100"/>  
                                        <p:fileUpload id="Choisirunephoto" label="Choisir la photo"  fileUploadListener="#{travailleurBean.handleFileUploadProfile}" 
                                                      update=":formMessage:messageGrow, photoDePhofile"   mode="advanced"  dragDropSupport="false" 
                                                      sizeLimit="1000000"  allowTypes="/(\.|\/)(gif|jpe?g|png)$/" showButtons="false" />  

                                        <p:outputLabel value="Nom :" for="nom"/>
                                        <p:inputText value="#{travailleurBean.cvTravailleurNew.nom}" id="nom" required="true"/>

                                        <p:outputLabel value="Prenom :" for="prenom"/>
                                        <p:inputText value="#{travailleurBean.cvTravailleurNew.prenom}" id="prenom" required="true"/>

                                        <p:outputLabel value="Naissance: " for="naissance"/>
                                        <p:calendar id="naissance" value="#{travailleurBean.cvTravailleurNew.datenaissance}" pattern="dd/MM/yyyy"
                                                    navigator="true"  maxdate="#{travailleurBean.dateDuJour}"
                                                    title="La date de naissance" required="true"/>

                                        <p:outputLabel value="Nationnalité : " for="nationnalite" />  
                                        <h:panelGrid columns="2">
                                            <p:selectManyMenu   id="nationnalite" value="#{travailleurBean.nationnalites}" 

                                                                converter="paysConverter" var="p"
                                                                style="width:250px;height:100px" showCheckbox="true" >  
                                                <f:selectItems value="#{travailleurBean.listePays}" var="pays" itemLabel="#{pays.paysfr}" itemValue="#{pays}"/>  

                                                <p:column>  
                                                    <p:graphicImage value="./public/images/drapeau/#{p.codePays}.png" width="16" height="11"/>  
                                                </p:column>  
                                                <p:column>  
                                                    #{p.paysfr}  
                                                </p:column>
                                                <p:ajax event="change" update="listeNationnalite, editionNumeroPasseport"/>
                                            </p:selectManyMenu > 
                                            <p:panelGrid columns="1">
                                                <p:outputLabel value="Nationnalités sélectionnés : " for="listeNationnalite" />  
                                                <p:dataList id="listeNationnalite" value="#{travailleurBean.nationnalites}" var="nationalite">  
                                                    <p:graphicImage value="./public/images/drapeau/#{nationalite.codePays}.png" width="16" height="11"/> #{nationalite.paysfr} <br /> 
                                                </p:dataList>
                                            </p:panelGrid>
                                        </h:panelGrid>

                                        <p:outputLabel value="Adresse :" for="adresse"/>
                                        <h:panelGrid columns="3" >
                                            <p:inputText  value="#{travailleurBean.cvTravailleurNew.adressederesidence}" title="Adresse de résidence" id="adresse" required="true"/>
                                            <p:inputMask mask="99?9999" value="#{travailleurBean.codepostalAdress}" 
                                                         title="Code postale"
                                                         placeHolder="#"
                                                         style="width:100px" 
                                                         id="codePostal" />
                                            <p:selectOneMenu id="paysAdresse" 
                                                             style="width:160px" 
                                                             converter="paysConverter"
                                                             requiredMessage="Pays de residence :
                                                             erreur de validation. Vous devez indiquer une valeur."
                                                             filter="true"
                                                             value="#{travailleurBean.paysAdresse}" var="p" required="true" >  
                                                <f:selectItem itemLabel="Selectionner un pays" itemValue=""  />  
                                                <f:selectItems value="#{travailleurBean.listePays}" var="pays" 
                                                               itemLabel="#{pays.paysfr}" itemValue="#{pays}" /> 
                                                <p:column>  
                                                    <p:graphicImage value="./public/images/drapeau/#{p.codePays}.png" width="16" height="11"/>  
                                                </p:column>  
                                                <p:column>  
                                                    #{p.paysfr} 
                                                </p:column>
                                            </p:selectOneMenu>
                                        </h:panelGrid>
                                        <p:outputLabel value="Groupe sangin :" for="groupesangin"/>
                                        <h:panelGrid columns="2" >
                                            <p:selectOneMenu id="groupesangin"
                                                             value="#{travailleurBean.cvTravailleurNew.groupesangin}"  required="true" >  

                                                <f:selectItem itemLabel="Groupe sangin" itemValue=""  />  
                                                <f:selectItem itemLabel="A" itemValue="A"  />  
                                                <f:selectItem itemLabel="AB" itemValue="AB"  />  
                                                <f:selectItem itemLabel="B" itemValue="B"  />  
                                                <f:selectItem itemLabel="O" itemValue="O"  />  
                                            </p:selectOneMenu>
                                            <p:selectOneButton value="#{travailleurBean.cvTravailleurNew.facteurrhesus}" >
                                                <f:selectItem itemLabel="+" itemValue="+" />  
                                                <f:selectItem itemLabel="-" itemValue="-" />  
                                            </p:selectOneButton>
                                        </h:panelGrid>

                                        <p:outputLabel value="Telephones :" for="telephones" />
                                        <p:autoComplete  id="telephones" validator="#{travailleurBean.validerNumeros}"
                                                         value="#{travailleurBean.telephones}" completeMethod="#{travailleurBean.completeQuery}"
                                                         multiple="true" title="Telephones" />

                                    </p:panelGrid>

                                </p:tab>
                                <p:tab title="Documments de personnelles" id="DocPersoTab">

                                    <p:panelGrid columns="2">
                                        <p:outputLabel value="N° de prièce d'identité :" for="numIdentite"/>
                                        <p:inputText value="#{travailleurBean.cvDocofficiels.numerocardeidentite}" 
                                                     id="numIdentite" required="true"/>

                                        <p:outputLabel value="N° Passeports :" for="editionNumeroPasseport"/>
                                        <p:dataTable var="passeport" value="#{travailleurBean.cvNationalitetravailleur}" id="editionNumeroPasseport" editable="true">
                                            <p:ajax event="rowEdit" listener="#{travailleurBean.onEdit}" update=":formMessage:messageGrowDetail" />  
                                            <p:ajax event="rowEditCancel" listener="#{travailleurBean.onCancel}" update=":formMessage:messageGrowDetail" /> 
                                            <p:column headerText="Nationnalité" style="width:30%">
                                                <p:graphicImage value="./public/images/drapeau/#{passeport.cvPays.codePays}.png" width="16" height="11" /> | <p:outputLabel value="#{passeport.cvPays.paysfr}"/>
                                            </p:column>
                                            <p:column headerText="Numéro de passeport" style="width:30%">
                                                <p:cellEditor>
                                                    <f:facet name="output">  
                                                        <h:outputText value="#{passeport.numeropasseport}" />  
                                                    </f:facet>  
                                                    <f:facet name="input">  
                                                        <p:inputText value="#{passeport.numeropasseport}" style="width:100%"/>  
                                                    </f:facet> 
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Editer">  
                                                <p:rowEditor />  
                                            </p:column>
                                        </p:dataTable>
                                        <p:outputLabel value="N° de Visa :" for="numVisa"/>
                                        <p:inputText value="#{travailleurBean.cvDocofficiels.numerovisa}" 
                                                     id="numVisa" />

                                        <p:outputLabel value="Date d'expiration du visa:" for="dateExpirationVisa" />
                                        <p:calendar id="dateExpirationVisa" value="#{travailleurBean.cvDocofficiels.dateexpirationvisa}"
                                                    pattern="dd/MM/yyyy " title="Date de fin" required="false" 
                                                    />

                                        <p:outputLabel value="N° de permis de conduire :" for="numpermis"/>
                                        <p:inputText value="#{travailleurBean.cvPermisconduire.numeropermis}" 
                                                     id="numpermis" />

                                        <h:outputText value="Type de permis: " />  
                                        <p:selectManyCheckbox value="#{travailleurBean.typePermisDeConduit}">  
                                            <f:selectItem itemLabel="A" itemValue="A" />  
                                            <f:selectItem itemLabel="B" itemValue="B" />  
                                            <f:selectItem itemLabel="C" itemValue="C" />  
                                            <f:selectItem itemLabel="D" itemValue="D" />  
                                            <f:selectItem itemLabel="E" itemValue="E" />  
                                        </p:selectManyCheckbox>

                                        <p:outputLabel value="Date d'expiration du permis:" for="dateExpirationPermis" />
                                        <p:calendar id="dateExpirationPermis" value="#{travailleurBean.cvPermisconduire.dateexpirationpermis}"
                                                    pattern="dd/MM/yyyy " title="Date de fin" required="false" 
                                                    />

                                    </p:panelGrid>
                                </p:tab>
                                <p:tab title="Contrat et affectation" id="ContratAffectationTab">
                                    <p:accordionPanel>  
                                        <p:tab title="Contrat" >
                                            <p:panelGrid columns="2" >
                                                <p:outputLabel value="Compagnie : " for="compagnie" />  
                                                <p:selectOneMenu  id="compagnie" 
                                                                  style="width:200px" 
                                                                  value="#{travailleurBean.cvCompagnie}" converter="compagnieConverter"
                                                                  required="true" filter="true" >  
                                                    <f:selectItem itemLabel="Selectionner la compagnie" itemValue="" />  
                                                    <f:selectItems value="#{travailleurBean.listeCompagnie}" var="compagnie" itemLabel="#{compagnie.nomcompagnie}" itemValue="#{compagnie}"/>  

                                                </p:selectOneMenu> 
                                                <p:outputLabel value="Type de contrat : " for="typedecontrat" />  
                                                <p:selectOneMenu  id="typedecontrat" 
                                                                  style="width:200px"
                                                                  value="#{travailleurBean.cvTypedecontrat}" converter="typedecontratConverter"
                                                                  required="true"  filter="true">  
                                                    <f:selectItem itemLabel="Selectionner le type de contrat" itemValue="" />  
                                                    <f:selectItems value="#{travailleurBean.listeTypeContrat}" var="typedecontrat" itemLabel="#{typedecontrat.typecontrat}" itemValue="#{typedecontrat}"/>  

                                                </p:selectOneMenu> 

                                                <p:outputLabel value="Date de debut :" for="dateDeDebut" />
                                                <p:calendar id="dateDeDebut" value="#{travailleurBean.cvTravail.debutcontrat}"
                                                            pattern="dd/MM/yyyy " title="Date de début" required="true" 
                                                            >
                                                    <p:ajax event="dateSelect" listener="#{travailleurBean.handleDateSelectDateDebut}" /> 
                                                </p:calendar>

                                                <p:outputLabel value="Date de fin :" for="dateDeFin" />
                                                <p:calendar id="dateDeFin" value="#{travailleurBean.cvTravail.fincontrat}"
                                                            validator="#{travailleurBean.validerDateDebutParRapportFin}"
                                                            pattern="dd/MM/yyyy " title="Date de fin" required="false" 
                                                            />

                                                <p:outputLabel value="Poste :" for="posteopccuper" />
                                                <p:selectOneMenu  id="posteopccuper"
                                                                  style="width:200px"
                                                                  value="#{travailleurBean.cvListeposte}" converter="listeposteConverter"
                                                                  required="true"  filter="true">  
                                                    <f:selectItem itemLabel="Selectionner le poste" itemValue="" />  
                                                    <f:selectItems value="#{travailleurBean.listePoste}" var="poste" itemLabel="#{poste.poste}" itemValue="#{poste}"/>  

                                                </p:selectOneMenu> 
                                            </p:panelGrid>

                                        </p:tab>
                                        <p:tab title="Affectation" >
                                            <p:panelGrid columns="2" >
                                                <p:outputLabel value="Mission :" for="mission" />
                                                <p:selectOneMenu id="mission" style="width:200px" required="true" value="#{travailleurBean.cvMission}" converter="missionConverter">  
                                                    <f:selectItem itemLabel="Selectionner une mission" itemValue="" />  
                                                    <f:selectItems value="#{travailleurBean.listeMission}" var="mission" itemLabel="#{mission.idmission}" itemValue="#{mission}"/>  
                                                    <p:ajax update="departement, equipe"  
                                                            listener="#{travailleurBean.handleMissionChange}" />  
                                                </p:selectOneMenu>  

                                                <p:outputLabel value="Departement :" for="departement" />
                                                <p:selectOneMenu id="departement" style="width:200px" required="true" value="#{travailleurBean.cvListedepartement}" converter="departementConverter">  
                                                    <f:selectItem itemLabel="Selectionner un departement" itemValue="" />  
                                                    <f:selectItems value="#{travailleurBean.departementListeHand}" var="departement" itemLabel="#{departement.nomdepartement}" itemValue="#{departement}" />  
                                                    <p:ajax update="equipe"  
                                                            listener="#{travailleurBean.handleDepartementChange}" />
                                                </p:selectOneMenu> 

                                                <p:outputLabel value="Equipe :" for="equipe" />
                                                <p:selectOneMenu id="equipe" style="width:200px" required="true" value="#{travailleurBean.cvEquipedepartement}" converter="equipeConverter">  
                                                    <f:selectItem itemLabel="Selectionner une équipe" itemValue="" />  
                                                    <f:selectItems value="#{travailleurBean.equipeListeHand}" var="equipe" itemLabel="#{equipe.equipe}" itemValue="#{equipe}" />  
                                                </p:selectOneMenu> 

                                                <p:outputLabel value="Date d'affectation :" for="dateAffactation" />
                                                <p:calendar id="dateAffactation" value="#{travailleurBean.dateAffectation}"
                                                            pattern="dd/MM/yyyy " title="Date d'affectation" required="true" 
                                                            />
                                            </p:panelGrid>
                                        </p:tab>
                                    </p:accordionPanel>
                                </p:tab>
                            </p:accordionPanel>
                            <f:facet name="footer">
                                <p:commandButton id="AjouterUnutilisateur" 
                                                 value="Créer un employé" icon="ui-icon-plus"

                                                 update=":formAjouterTravailleur, :formMessage:messageGrow"
                                                 action="#{travailleurBean.enregistrerTravailleur}">
                                </p:commandButton>
                            </f:facet>
                        </p:panel>
                    </h:form>
                </ui:define>


            </ui:composition>
        </h:body>

    </f:view>
</html>

